/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.senac.academicnet.model;

import br.com.senac.academicnet.model.entidades.ProfessorVO;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.List;

public class ProfessorBO {
       
    public static void incluir(ProfessorVO professor) throws Exception {
        ProfessorDAO.incluir(professor);
    }

    public static void alterar(ProfessorVO professor) throws Exception {
        ProfessorDAO.alterar(professor);
    }

    public static void deletar(ProfessorVO professor) throws Exception {
        if(AlunoProfessorDAO.getAlunos(professor).size() > 0 ){
            throw new Exception("Professor nao pode ser excluido.\n"
                    + "Ha alunos relacionados a este professor.");
        }else{
            ProfessorDAO.deletar(professor);
        }
        
    }

    
    public static void deletarTudo() throws Exception {
        ProfessorDAO.deletarTudo();
    }
    public static List<ProfessorVO> getProfessores() throws Exception {
        return ProfessorDAO.getProfessores();
    }
    
    public static ProfessorVO getProfessor(int codigo) throws Exception {
        return ProfessorDAO.getProfessor(codigo);
    }
    
    public static void exportarCSV(String arquivo) throws  Exception{
        FileWriter writer = new FileWriter(arquivo);
        BufferedWriter bw = new BufferedWriter(writer);
        try {
            List<ProfessorVO> professores = getProfessores();
            
            bw.append("Codigo;Nome;Cpf;DataNascimento;Telefone;Celular;Logradouro;Numero;Bairro;Cidade;Uf;Salario;\n");
            for (ProfessorVO professor : professores) {
                bw.append(professor.toString()+ "\n");
            }

        } catch (Exception e) {
            throw e;
        } finally {
            bw.close();
        }
    }
}
